package com.study.spark.scala.chapter07

import scala.collection.mutable.ArrayBuffer

object Scala04_Collection_4{
  def main(args: Array[String]): Unit = {
    // TODO 集合 - 功能函数 - 排序
    // 通过指定的排序规则对集合中每一条数据进行排序，默认为升序
    val array = ArrayBuffer(1,5,2,6,3)
    println(array.sortBy(num => num))//ArrayBuffer(1, 2, 3, 5, 6)
    // 使用函数柯里化，将参数分开，实现降序
    println(array.sortBy(num => num)(Ordering.Int.reverse))//ArrayBuffer(6, 5, 3, 2, 1)

    val str = ArrayBuffer("1","11","2","3","111")
    // 对于字符串，默认是字典序排序
    println(str.sortBy(num => num))//ArrayBuffer(1, 11, 111, 2, 3)
    // toInt改为按照对应的数字大小排序
    println(str.sortBy(num => num.toInt))//ArrayBuffer(1, 2, 3, 11, 111)
  }
}
